Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / tests / backend / test_plugin_security_scan.py

Displaying Raw • Download


tests/backend/test_plugin_security_scan.py ec74a2651e897325b14269ae52d11b1e12f0b6e2 (ec74a265) Text, 1.21 KB

T8b949e# SPDX-License-Identifier: 0BSD

Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787plugin_rsg Tff7b72import Te6edf3SignatureInfo
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787plugin_security_scan Tff7b72import Tb4b4b4(
Te6edf3assess_pluginTb4b4b4,
Te6edf3assess_sideband_scriptTb4b4b4,
Tb4b4b4)


Tff7b72def Td2a8fftest_findings_for_unsigned_network_and_evalTb4b4b4(Te6edf3tmp_pathTb4b4b4)Tb4b4b4:
Te6edf3plugin_dir Tff7b72= Te6edf3tmp_path Tff7b72/ Ta5d6ff"Ta5d6ffpluginTa5d6ff"
Te6edf3plugin_dirTff7b72.Td2a8ffmkdirTb4b4b4(Tb4b4b4)
Tb4b4b4(Te6edf3plugin_dir Tff7b72/ Ta5d6ff"Ta5d6ffmain.jsTa5d6ff"Tb4b4b4)Tff7b72.Td2a8ffwrite_textTb4b4b4(
Ta5d6ff"Ta5d6ffeval(Ta5d6ff'Ta5d6ff1Ta5d6ff'Ta5d6ff); fetch(Ta5d6ff'Ta5d6ffhttps://evil.example/xTa5d6ff'Ta5d6ff)Ta5d6ff"Tb4b4b4,
Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4,
Tb4b4b4)
Te6edf3manifest Tff7b72= Tb4b4b4{
Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffcom.example.riskyTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffpermissionsTa5d6ff"Tb4b4b4: Tb4b4b4{Ta5d6ff"Ta5d6ffnetworkTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fffetchTa5d6ff"Tb4b4b4}Tb4b4b4,
Ta5d6ff"Ta5d6ffnetworkTa5d6ff"Tb4b4b4: Tb4b4b4{Ta5d6ff"Ta5d6ffendpointsTa5d6ff"Tb4b4b4: Tb4b4b4[Tb4b4b4]Tb4b4b4}Tb4b4b4,
Tb4b4b4}
Te6edf3assessment Tff7b72= Te6edf3assess_pluginTb4b4b4(Te6edf3manifestTb4b4b4, Tffa657strTb4b4b4(Te6edf3plugin_dirTb4b4b4)Tb4b4b4, Te6edf3signatureTff7b72=Te6edf3SignatureInfoTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3ids Tff7b72= Tb4b4b4{Te6edf3itemTff7b72.Td2a8ffid Tff7b72for Te6edf3item Tff7b72in Te6edf3assessmentTff7b72.Td2a8fffindingsTb4b4b4}
Tff7b72assert Ta5d6ff"Ta5d6ffunsigned-networkTa5d6ff" Tff7b72in Te6edf3ids
Tff7b72assert Ta5d6ff"Ta5d6ffjs-evalTa5d6ff" Tff7b72in Te6edf3ids
Tff7b72assert Te6edf3assessmentTff7b72.Td2a8ffrisk_level Tff7b72in Tb4b4b4{Ta5d6ff"Ta5d6ffmediumTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffhighTa5d6ff"Tb4b4b4}


Tff7b72def Td2a8fftest_sideband_findingsTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3assessment Tff7b72= Te6edf3assess_sideband_scriptTb4b4b4(
Ta5d6ff"Ta5d6ffdemo.pyTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffimport subprocessTffea00\nTa5d6ffimport socketTffea00\nTa5d6ffeval(Ta5d6ff'Ta5d6ff1Ta5d6ff'Ta5d6ff)Tffea00\nTa5d6ff"Tb4b4b4,
Te6edf3SignatureInfoTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4)
Te6edf3ids Tff7b72= Tb4b4b4{Te6edf3itemTff7b72.Td2a8ffid Tff7b72for Te6edf3item Tff7b72in Te6edf3assessmentTff7b72.Td2a8fffindingsTb4b4b4}
Tff7b72assert Ta5d6ff"Ta5d6ffsideband-full-accessTa5d6ff" Tff7b72in Te6edf3ids
Tff7b72assert Ta5d6ff"Ta5d6ffpy-evalTa5d6ff" Tff7b72in Te6edf3ids
Tff7b72assert Ta5d6ff"Ta5d6ffpy-subprocessTa5d6ff" Tff7b72in Te6edf3ids
Tff7b72assert Ta5d6ff"Ta5d6ffpy-socketTa5d6ff" Tff7b72in Te6edf3ids


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────